#ifndef __MARS_RENDER_RESOURCE_H__
#define __MARS_RENDER_RESOURCE_H__

#include "MarsType.h"

namespace Graphics
{

class RenderResource
{
public:
									RenderResource();
	virtual							~RenderResource();

	virtual void					InitResource();
	virtual void					ReleaseResource();

protected:
	virtual void					InitDynamicResource();
	virtual void					ReleaseDynamicResource();

	virtual void					InitStaticResource();
	virtual void					ReleaseStaticResource();

	Core::Bitfield					m_bInitilaized : 1;
};

inline RenderResource::RenderResource()
	: m_bInitilaized( FALSE )
{
}
	
inline RenderResource::~RenderResource()
{
}
	
inline void RenderResource::InitDynamicResource()
{
}

inline void RenderResource::ReleaseDynamicResource()
{
}

inline void RenderResource::InitStaticResource()
{
}

inline void RenderResource::ReleaseStaticResource()
{
}

} // end of namespace Graphics

#endif // end of #ifndef __MARS_RENDER_RESOURCE_H__